หลักการ MVC (Model View and Controller) ของ เค้กพีเอชพี

MVC เป็นสถาปัตยกรรมของการเขียนโปรแกรมแบบใหม่ที่แยกส่วนการทำงานแต่ละส่วนให้เป็นอิสระต่อกัน คือ ส่วนของ Model เป็นส่วนที่ทำงานอยู่กับฐานข้อมูล

M คือ Model, V คือ View และ C คือ Controller

Model เป็นส่วนที่ติดต่อกับฐานข้อมูล โดย Model จะรับคำสั่งมาจาก Controller ซึ่งเป็นคำสั่งในการทำงานกับฐานข้อมูล เช่น SELECT, INSERT, UPDATE หรือ DELETE เป็นต้น โดยหลังจาก Model ทำงานตามคำสั่งเรียบร้อยแล้วก็จะ Return ค่ากลับไปที่ Controller อีกครั้งเพื่อให้ Controller ส่งให้ View ต่อไป

View เป็นส่วนหลักของ User Interface หรือส่วนติดต่อกับผู้ใช้ ซึ่ง View สามารถที่จะมี Template ของ Layout ที่แตกต่างกันไปได้ โดยข้อมูลต่าง ๆ จะถูกส่งมาจาก Controller แล้วนำมาแสดงผลที่ View เช่นเดียวกันหากเป็นข้อมูลจากฟอร์มก็จะสร้างที่ View แล้วส่งต่อให้กับ Controller ต่อไป

Controller เป็น Business Logic หลักของโปรแกรมซึ่งเป็นตัวเชื่อมระหว่าง View กับ Model เช่น การรับค่าจากฟอร์มโดยฟอร์มอยู่ที่ View ส่งค่าให้กับ Controller แล้ว Controller ก็จะทำการสร้าง Logic ในการบันทึกข้อมูล แล้วส่งให้แก่ Model ซึ่ง Model ก็จะรับ Logic ในการบันทึกแล้วบันทึกข้อมูลลงฐานข้อมูลต่อไป

หลักการทำงานของ MVC

  1. เมื่อ Client มีการร้องขอผ่าน View
  2. ข้อมูลจะส่งผ่านไปหา Controller โดย Controller จะเป็นตัวจำแนก Action ต่าง ๆ หรือเป็น Business Logic ของระบบ
  3. จากนั้น Controller ก็จะร้องขอไปยัง Model จาก Action นั้น ๆ เช่นร้องขอการเลือกข้อมูลทั้งหมดจากตาราง
  4. เมื่อ Model รับการร้องขอก็จะทำการ Query ข้อมูลตามที่ Controller ส่งมา
  5. Model จะส่งข้อมูลที่ได้กลับมาหา Controller
  6. Controller ก็จะทำการ Set ค่าลงในตัวแปรเพื่อส่งให้ View ต่อไป
  7. View ก็จะนำตัวแปรเหล่านั้นไปทำการแสดงผลตามต้องการได้